package com.mt.roll.process.vo;

import com.mt.roll.core.base.BaseVo;
import com.mt.roll.core.vo.PageVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;

/**
 * TODO 根据实际情况是否需要实现ITree接口
 *
 * @author lgh
 * @date 2020/12/29
 * @since 1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
@ApiModel(value = "工艺视图对象", description = "用于查询工艺信息")
public class ProcessFlowVo extends BaseVo implements PageVo.ConvertVo{
    /**
     * 主键，自增
     */
    @ApiModelProperty(value = "主键", required = true, example = "1")
    @NotNull(message = "ID不能为空")
    private Long id;
    /**
     * bomID
     */
    @ApiModelProperty(value = "主键", required = true, example = "1")
    @NotNull(message = "bomID不能为空")
    private Long bomId;
    /**
     * 基板ID
     */
    @ApiModelProperty(value = "主键", required = true, example = "1")
    @NotNull(message = "基板ID不能为空")
    private Long substrateId;
    /**
     * 工艺编码
     */
    @ApiModelProperty(value = "编码", example = "0")
    @NotNull(message = "编码不能为空")
    private String code;
    /**
     * 工艺名称
     */
    @ApiModelProperty(value = "名称", example = "0")
    @NotNull(message = "名称不能为空")
    private String name;
    /**
     * 外部编码，用于对照外部系统的编码
     */
    @ApiModelProperty(value = "外部编码", example = "0")
    @NotNull(message = "外部编码不能为空")
    private String externalCode;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", example = "0")
    private String createTime;
    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", example = "0")
    private Long enabled;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", example = "0")
    private String remark;
    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", example = "0")
    private String description;
    /**
     * 基板name
     */
    @ApiModelProperty(value = "基板name", example = "基板name")
    private String substrateName;
    /**
     * bom name
     */
    @ApiModelProperty(value = "bomname", example = "bomname")
    private String bomName;

}
